package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AnalysisSubmitSubjectiveMarkComReqDto
 * @使用场景
 */
@Data
public class AnalysisSubmitSubjectiveMarkComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 虚拟组织成员ID
   */
  @NotNull(message = "虚拟组织成员ID不能为空")
  @ApiModelProperty("虚拟组织成员ID")
  private String virtualOrgMemberId;

  /**
   * 身份人员ID
   */
  @NotNull(message = "身份人员ID不能为空")
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 主观评分
   */
  @NotNull(message = "主观评分不能为空")
  @ApiModelProperty("主观评分")
  private Double subjectiveMark;

  /**
   * 周期ID
   */
  @NotNull(message = "周期ID不能为空")
  @ApiModelProperty("周期ID")
  private String cycleId;

  /**
   * 周期阶段资料记录ID
   */
  @NotNull(message = "周期阶段资料记录ID不能为空")
  @ApiModelProperty("周期阶段资料记录ID")
  private String cycleStageDataId;

  /**
   * 被评对象目标周期ID
   */
  @NotNull(message = "被评对象目标周期ID不能为空")
  @ApiModelProperty("被评对象目标周期ID")
  private String evaObjTargetCycleId;

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @NotNull(message = "关联目标内容类型编码不能为空")
  @ApiModelProperty("关联目标内容类型编码")
  private String targetCycleContentTypeCode;

  /**
   * 关联目标内容ID
   */
  @NotNull(message = "关联目标内容ID不能为空")
  @ApiModelProperty("关联目标内容ID")
  private String targetCycleContentId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

}
